O motivo pelo qual o apache precisa de um recarregamento é que, uma vez aberto um arquivo, ele recebe um filehandle para ele e continuará gravando nesse filehandle. Quando você move o arquivo, ele não vê isso, ele simplesmente continua gravando no mesmo identificador. Quando você fizer um recarregamento, ele abrirá o arquivo novamente e obterá um novo identificador.
Para evitar o recarregamento, em vez de mover o arquivo, você pode copiá-lo e esvaziar o arquivo antigo. Dessa forma, o apache pode continuar gravando no mesmo filehandle. Você faz isso adicionando a opção "copytruncate" ao arquivo de configuração logrotate, assim:
/apache/*log {
copytruncate
compress
dateext
rotate 365
size=+300M
olddir /log/old/apache
notifempty
missingok
}