I have a potential suggestion and solution around this issue. I ran into a similar situation within the last bit on some of my lower level instances. Those a currently still SQL 2005, but this issue may apply to SQL 2008 and SQL 2012 upgrades.
We were running an audit and removing some legacy accounts, as well as the Builtin-Administrators group, as is standard after a SQL 2005 server install and on a regularly scheduled basis.
The next morning, the SQL Job Agent on one of my instances started throwing the same error as above when someone attempted to run the job. After a few minutes of troubleshooting, I figured out my service ID was not explicitly added to the security in the server instance. It had been on all the other instances, which is why no one else was complaining.
After adding the service ID to the SQL security with sysadmin, the service started right up. After removing the Builtin-Administrators group, the ID apparently did not have the rights to access the system tables it needed to be able to start.
So, let me know if this also resolved it for you. And please provide feedback if you believe I've not fully explained the solution or need more details. Thank you!
DBA Admin, Systems Analyst