You don't specify who owns that logfile. It should be wwwrun, which has the read/write access
To give you an idea, here are some of the files on my box:
-rw------- wwwrun www access_log
-rw------- wwwrun www agent_log
-rw-r----- root root apache_runtime_status
-rw------- wwwrun www error_log
-rw-r----- root root httpd.pid
The exact way apache handles it processes can be influenced by the httpd.conf file. Especially apache 2+ has some excelent options for changing the way requests are handled.
The default is to have 1 master process (runs as root and should not die) that controls other httpd processes (childs).
For example: You might have seen these options in your httpd.conf (numbers are probably different, don't worry about that):
These are some of the things that the master process will check. So when apache is started for the first time the master process will create (spawn) 4 httpd processes (the StartServers 4 directive) that will run as user wwwrun.
These child processes handle the incomming (web)request(s) and do (some of) the logging, so some of the logfiles should have write access for the wwwrun user. Making wwwrun the owner of the file and give exclusive write access to wwwrun is what I prefer.
Depending on your configuration, a child will die after 1 request or stay alive to handle other request. If it dies and the number of remaining childs are within the MinSpareServers and MaxSpareServers setting, a new httpd could be created (I do not know if a new child is created when there are only 2 left or that 4 is what the master process tries to achieve [numbers are from example]).
Hope this clears things up a bit