Many of the Russian vowels, including "о", are pronounced differently depending on whether they occur in a stressed syllable, before the stressed syllable, or after it. In the case of "о", it's like this:
Examples:
хорошо́ (stressed on the last syllable, therefore pronounced as харашо)
о́блако (stressed on the first syllable, therefore pronounced as облəкə)
пото́чечно (stressed on the second syllable, therefore pronounced as паточəчнə. Тhis word has three "о"s and all are pronounced differently because the first "о" is before the stressed vowel, the second is stressed, and the third is after the stressed vowel. Note that this is a slightly contrived word meaning point-by-point, I just couldn't come up with a simpler example with three "о"s with the stress on the middle "о").
The masculine по́нял is stressed on the first syllable, so "о" is pronounced as "o". The feminine поняла́, is stressed on the last syllable, so "о" is pronounced as "а". In some dialects and by certain uneducated people, поняла is stressed on the first syllable, in which case it's pronounced as понял with a schwa at the end.
The shift of stress between different forms of the same word is extremely common in Russian.