Да, только владелец файла может сделать это. Ваши параметры зависят от того, какой контроль вы имеете над сервером.
Если у вас достаточно контроля над сервером, вы можете использовать SuPHP вместо Apache mod_php. Таким образом, сценарии PHP будут выполняться как пользователь, который владеет сценарием, и все файлы, созданные сценарием PHP, будут принадлежать одному и тому же пользователю.
Если у вас нет такого большого контроля (например, общего веб-хостинга), вы можете использовать что-то вроде подхода Joomla по FTP. Когда в Joomla включена поддержка FTP, он выполняет все операции с файлами с использованием FTP. Таким образом, он может создавать или манипулировать файлами с теми же разрешениями, что и пользователь FTP.
Примерно так (обработка ошибок опущена):
$ftp = ftp_connect('localhost');
ftp_login($ftp, 'username', 'password');
ftp_chdir($ftp, '/root/to/website');
ftp_chmod($ftp, 0644, 'filename.ext');
ftp_close($ftp);