If I were to translate il y fallait songer into English, I'd use “he had to think about it”.
What is a more precise meaning?
No, "He had to think about it" is an incorrect translation of this.
"Fallait" is the 3rd person past imperfect of the verb falloir. Falloir implies necessity and is only ever used in the 3rd person with the pronoun 'il'. This explains falloir nicely: “Falloir” vs. “devoir”: is there a difference in meaning?
"Il y fallait songer" would translate more like "It was necessary to consider it".
Other possible translations:
*Notice that these last two translations change from the active voice, which is present in the French sentence, to the passive voice in English. The 'it' in these two sentences is the 'y' in the French sentences.
Finally, falloir is an impersonal verb and therefore the 'il' in 'il faut' never translates to 'he'.
The usual idiom is il fallait y penser. This means: this idea is perhaps easy to understand, but you would have to be quite clever to think of it in the first place. Il fallait y penser can have the literal meaning “someone should have thought of that”, or the idiomatic meaning “this is a clever idea” (but it cannot mean “someone was bound to think of it”, unlike what one of the top Google hits states).
Il fallait y songer is a far less common variant on this idiom. Songer here means roughly the same as penser. There is a slight connotation towards imagination in using songer (which can also mean “dream”) rather than penser, but the distinction is more of a matter of style than meaning.