I had a similar problem with downloads on Chrome/Android. .docx files were renamed to filename.bin (or something like that).
Headers included
Content-Type:application/octet-stream
and
Content-Disposition:attachment; filename="something.docx";
Turned out that my problem was in trailing semicolon in "Content-Disposition" header. When there is no semicolon at the end of the line - it works fine:
Content-Disposition:attachment; filename="something.docx"
More info here: http://www.digiblog.de/2011/04/android-and-the-download-file-headers/
So, be sure to check that as well.