Based on this
--------------------------SQL BOL-----------------------
user who can execute this procedure and is a member of the sysadmin fixed role can start any job. A user who is not a member of the sysadmin role can use sp_start_job to start only the jobs he/she owns.
----------------------------------------------------------
I believe you have to create a second copy of the job and make that person the owner of the job so they can do it from the server. I do believe this applies to using EM as well to start the job. Basically copy all the steps and there contents to a new job and make the person who wants to be able to run it the owner, then they should be able to.