If it is vsftpd, see if you have file_open_mode setting in vsftpd.conf. man vsftpd.conf says
file_open_mode
The permissions with which uploaded files are created. Umasks are applied on top of
this value. You may wish to change to 0777 if you want uploaded files to be executable.
Default: 0666