Although an answer has been accepted, there are lots of errors and ambiguities in the above answers. First of all, when you talk about getting a local angle between the magnetic and geographic axis, that is the magnetic declination. At most points on Earth, your compass does not point to any of the North geographic pole, the North Magnetic Pole or the geomagnetic North pole.
The three kinds of poles would coincide if the source of Earth's field were a very tiny but powerful bar magnet with its South pole pointing at geographic North. A field with this geometry is called a dipolar field (see Magnetic dipole). If the bar were tilted away from the rotation axis, then clearly magnetic and geographic North would not coincide, but everywhere on Earth our compasses would point to the North magnetic pole.
In reality, Earth's magnetic field is very complex, but it has modest deviations from a dipolar field. If you measure the field all over Earth and find the best fitting dipole field, its North pole at Earth's surface is the geomagnetic North pole.
If the field were dipolar, then at the geomagnetic North pole, a compass needle that could rotate in all directions would point straight down. This is referred to as the North Magnetic Pole. Since it is not, the North Magnetic Pole is at a different location. Also, the deviations from a dipolar field are complex, so as you move a compass around Earth, the declination changes. Finally, the field is always changing, so the declination is changing everywhere, as are the magnetic poles. Fortunately for navigation, these changes are slow.