bind: loading from master file failed: file not found

It's just a wild guess but with the directory statement pointing to /var/cache/bind/ it will search there for the files if you specify a relative path name. Either specify the absolute path as you did, or modify the directory statement.