You don't need to have your phone on to receive messages.
If you don't receive them it means they're is something wrong with your forwarding settings, if you network reset or completely remove all the entries system will fill it in with the right numbers.
I use fongo (i know I'm a broken record but i can't help it i like it so much) it's free it also emails me the message, i can use the app as visual vm i get unlimited amount of messages and i can increase the number is rings (after Publicmobile forwards to Fongo i let it ring only once now but can charge it) plus i don't spend minutes for retrieving the messages
But if you are happy with Publicmobile other then loosing voicemails while phone is off, just reset your forwarding and it should work
Get free Fongo number.
Set it to ring once and to email you copy in the settings.
If you are on iphone dial the following
*61*Your fongo Number#
*62*Your Fongo Number#
*67*Your Fongo Number#
If you are on Android go to call settings/calling accounts/pm sim/forwarding and put your Fongo number in the 3 fields.
You can retrieve from the vm section in app, you can dial 1 on Fongo app or check your inbox.
As the bonus if you have only 100 minutes you will be happy to know that call transfer is free with Fongo
No matter how long the call you can turn it into incoming for only 0.07megs of your WiFi or data. Just call your cell, answer, in Fongo hit transfer and enter destination number. The destination number will see your cell number not Fongo as calling them and Fongo will hang up leaving only your cell and the destination number in conversation