As
@GtiMart said, LTE connectivity is required to initiate app access even if the car is connected to WiFi; the LTE connection is used to ping the car so that it can "check in" with Tesla's servers. Because the car uses WiFi in preference to LTE for most things, a lack of LTE connectivity can be masked by a working WiFi connection, but not when you use your app to check on the car from a distance.
Thus, you should test the
car's LTE connectivity: Disconnect the car from your home's WiFi or drive far enough so that you're out of range, and then test Internet features of the car -- voice commands, the Web browser, streaming media, etc. (Many of these rely on premium connectivity, so don't panic if you don't have premium connectivity and premium connectivity features don't work. Check Tesla's
connectivity page to see what features rely on premium connectivity.) If the LTE connectivity seems good, pull out your phone's app and try again. It
should work when the car and your phone both have LTE connectivity. If it doesn't, then that suggests a problem with Tesla's servers, your own phone's connectivity, your Tesla app, or your Tesla account. In most of these cases, you should probably talk to Tesla about it -- although you could try uninstalling and re-installing the Tesla app first. (You may need to re-connect it to your car if you try that.)
If your testing reveals a problem with LTE connectivity in the car, then it could be the car needs service (it could be an antenna connection that's come loose, for instance); or maybe there's something weird going on with the LTE account that Tesla maintains with AT&T (at least, AT&T is the carrier in the US; I'm not sure about Canada). Before scheduling service, though, try repeating this test at multiple locations, to be sure you're not in an LTE service dead zone. It's conceivable that the problem has cropped up at your home recently because of a temporary outage, a new building casting a radio shadow, etc.