HEAD~43 refers to the commit (version) of the file. Instead of that, you can use the commit hash you get from doing git log on the file. If you just want the file, you don't need to run git reset on it; that's only necessary if you want to forward-port the file to the current HEAD.
HEAD~43 is just treeish, so you can use a hash or a tag. You have to separate treeish from the filename with --, otherwise it is treated as filename. For example.