I have read official documentation of Microsoft SAPI but I couldn't find about whether the api can be used on offline mode or not.
in there, they said that Microsoft SAPI is server based speech recognition api. So It seems like it doesn't support but I have to make sure.
Can I use Microsoft SAPI on offline just like system.speech ?
That link does not say what you think it says. Both Microsoft.Speech.Recognition (server engine) and System.Speech.Recognition (desktop engine) run entirely on the host CPU. The underlying SR engines are different, however.
The reason why the Microsoft.Speech.Recognition engine is called "Server SR" is that it was designed to run as part of Microsoft Speech Server, which ran on an on-premises server.
If you want online (network) SR, you would need to use Windows.Media.Speech.Recognition, which has both online and offline recognition.