SQL Server Agent job returns a failure status message after the job succeed.
For me This looks a clash between job schedules. if the job is executing one day and fail the next day,there may be other job running that might contradict with this schedule. you might have to check all your job schedules and take appropriate action accordingly. 

This link might help you to check all the jobs schedules running in your server. 
http://www.sqlprofessionals.com/blog/sql-scripts/2014/10/06/insight-into-sql-agent-job-schedules/