El problema es claro... Seguramente tu modem tambien es router, los llamados modem/router que vienen con las companias de ISP.
El problema radica en que si bien tienes abierto el port 80 de tu router para el exterior, el router NO sabe a que IP interna de la red redireccionar esa peticion.
La solucion es facil... simplemente tienes que crear un forrwarding a la IP de tu red donde se ecuenttre tu servidor apache.
tendria que quedar algo asi
WAN ----> router(192.168.1.1)----->forward(80)-----> Apache (192.168.1.2)
Espero que se haya entendido... No soy bueno haciendo graficos...
Otra aclaracion, me ha pasado varias veces ,es que si bien esta todo configurado perfectamente, desde la misma red local no se puede acceder al server via IP publica.
Seguramente es un problema de enrutamiento a si mismo de esas piezas baratas mal llamadas "router".
Asi que una vez que tengas todo prueba tu desde tu red y algun amigo desde su casa...
Saludos