I suspect your printer is configured to get its network address via DHCP (Dynamic Host Configuration Protocol) which means your printer's IP could change from one day to the next.
With DHCP, every time you power up the printer it negotiates with your router (actually the Domain Name Service which your router is providing for your home network) for its IP address. Once the IP address is handed to the printer, it is available on that IP over the network. If your printer driver and status utilities running on your computer are setup to use that same IP to communicate with the printer, then everything works. Typically home routers hand out IP addresses and reserve that IP to your printer's MAC address for 24 hours (or maybe longer depending on how you have configured your router). So for at least a day, you could power off the printer, power it back on, and it would have the same IP each time and everything works. However after the reservation period expires, the next time the printer is powered up it may get a different address via DHCP, especially if there are other devices in your network that have have powered up using DHCP and have been assigned the IP that your printer used to have. When this happens, your printer's IP no longer matches the driver port and status utilities configuration running on your computer which are static and do not change. Thus you get "no communication" errors and you are unable to print. And as you have discovered, re-installing the print drivers and SW fixes the problem; this is because the new driver port will now match the printer IP, at least until the next time the printer gets a different IP from DCHP.
There are two strategies for solving this problem:
1) Change your printer configuration to NOT use DHCP and permanently assign it a fixed IP. You do this in the printer itself (or possibly a software utility that communicates with the printer to change this configuration in the printer). Now that the printer is not using DHCP but rather a fixed IP every time it powers up, it should always be in sync with your software.
or,
2) Continue using DHCP configured in the printer, but configure your router so that EVERY time the printer negotiates for an IP address it will always get the same one. This is known as configuring a "dedicated reservation" in the router's DNS functionality. Most routers allow this; all you have to do is get the printer's MAC address, choose an IP address from your home network's address space (if your software is already configured you want to choose the IP address it is already using), and configure the reservation table within the router. Each router brand is a little different in how to do this, so you will have to poke around in the router's configuration interface to find it.
Hope this helps.
Dave