When you run manually its using your credentials and when run as a job it runs under the SQL Server Agent credentials. Make sure the user under which the agent is running has appropirate permissions.
You can create proxy account for this, follow:
http://support.microsoft.com/kb/912911
HTH