HP drivers and Windows 7 don't get along lately for some reason. My personal laserjet (1018) and an HP laserjet at work all have this issue. My solution at home was to put the printer on a Windows XP print server, but the one at work is just jury rigged with a batch file that restart the print spooler process. It's a stupid thing to need, but it works.
You can create a batch file with the following commands if you want to give it a shot. This is of course assuming you're running Windows 7...
(Open Notepad, paste the lines in, click File > Save As and type resetspooler.bat and then change the "save as" type from .txt to "all files" and click OK/Save)
net stop spooler
net start spooler
Whenever the printer stops working right, just double click the batch file, let it finish, then try printing again.