application/vnd.microsoft.portable-executable is a registered MIME type and its description matches what you want to use it for.
The x-
prefix in application/x-msdownload indicates that it is experimental so it should generally be avoided: Especially if something standard is available as it in in this case.
application/octet-stream is for arbitary collections of bytes. It does match an executable file, but it isn’t as specific as application/vnd.microsoft.portable-executable.
Use application/vnd.microsoft.portable-executable.