I'd like to question if it is actually running as sa.
Is it the same if you use sys.dm_exec_sessions rather than the old sysprocesses?
Also can you write the current security context info to a table from the job? Or add a jobstep with print SUSER_SNAME()
and tick "include step output in history"