When a job is run from cron, it gets a very naked environment. The oracle tools are [usually] not installed in the PATH which cron provides. I don't know what else oracle strictly requires for it's tools to work, but there are probably quite a few other environment variables you will need to set.
See this thread
for a discussion of how best to approach setting he environment for cron jobs.