You can put the sha that you want in the download url:
https://github.com/{username}/{projectname}/archive/{sha}.zip
As a general rule, if you have a url that works, you can replace “master” with the specific sha you want.
On unix:
wget https://github.com/{username}/{projectname}/archive/{sha}.zip
Keep in mind that if this is a private repo then wget will not work unless you pass an OAuth token as well.
Here’s more info on that:
Having trouble downloading Git archive tarballs from Private Repo