Depending on your configuration, nginx master process and worker processes possibly run as completely different users.
To see users and groups for nginx processes:
ps -eo "%U %G %a" | grep nginx
root root nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
www-data www-data nginx: worker process
The worker process user wants to write permission for the log file.
To see file permissions of access.log:
ls -l /var/log/nginx/access.log
-rw-r----- 1 www-data www-data 0 Apr 29 2012 /var/log/nginx/access.log
In this case, the access log is owned by the nginx worker process and has to write access.
See also nginx http_log_module docs.
As a secondary issue, nginx logs is also rotated once they reach a particular size by the logrotate cronjob. When the new log file is created, it should be created with owner, group and permissions to permit the nginx worker process to write to that.
These log rotation settings for nginx are outlined in /etc/logrotate.d/nginx