Sí, pero para hacerlo correctamente se requiere hacer jailbreak (legal, anula la garantía) y puede implicar una violación de los Términos de Servicio de Google Maps.
La caché se puede utilizar hasta cierto punto: la aplicación de Google Maps utiliza su caché sin conexión, por lo que los azulejos son visibles y el mapa se puede desplazar un poco (si se desplazó mientras estaba en línea y pudo obtener azulejos vecinos). Las direcciones se mantienen en la vista de lista incluso si no se pueden seguir todas en la vista de mapa.
Si deseas más que esto, no está integrado por defecto. Si haces jailbreak, podrías modificarlo para tener una caché mucho más grande que admita cientos de MB de contenido, incluidos niveles de zoom, etc.
Configurarlo sería un hack importante y en contra de los Términos de Servicio de Google Maps. Cuando estés en línea, tendrás que interceptar tus propios paquetes del iPhone, detectar aquellos que involucren a Google Maps y construir una caché. Cuando estés sin conexión, querrás redirigir todas las solicitudes a los servidores de Google Maps a un servidor HTTP local que se esté ejecutando en el iPhone y luego servir los azulejos.
He visto que esto se hace con una computadora que estaba frecuentemente sin conexión, pero no con un iPhone, aunque debería funcionar perfectamente. También puedes agregar capas de azulejos personalizados de esta manera si lo deseas.