Find the last commit that produced an error to the given path. As the file isn't in the HEAD commit, this commit must have deleted the file.
git rev-list -n 1 HEAD -- <file_path>
Then check out the version at the commit before, using the caret (^) symbol:
git checkout <deleting_commit>^ -- <file_path>
Or in one command, if $file is the file in question.
git checkout $(git rev-list -n 1 HEAD -- "$file")^ -- "$file"
If you are using zsh and have the EXTENDED_GLOB option enabled, the caret symbol won't work. You can use ~1 instead.
git checkout $(git rev-list -n 1 HEAD -- "$file")~1 -- "$file"