You might try proving that the problem is specific to the slave by modifying the job definition to force it to run on only on the master node. In the job configuration page for that job there is a field which iwll allow you to restrict which nodes can run the job. Place "master" into that field (without the quotes), save the job configuration, and run it again.
If that works, then change the value in the field to "!master" (not master - without the quotes). That should then force the job to run on the slave. If you have more than one slave, then you'll need to list the specific slave name rather than the !master syntax.
Once you've shown that the problem is on the slave and not the master, then you probably want to compare the configuration of the master and the slave.
One scenario I've seen that was similar to your described symptoms was due to my having granted additional permissions to the jenkins user on the master nodle which I did not grant to the jenkins user on the slave nodes. In my case, I needed to add the private key of the jenkins user on the master node as a credential (in "Manage Credentials"), then use that credential in the configuration of the git plugin.
Mark Waite