In Parashas Vayechi, Ya'akov calls for his sons to gather so that he can tell them about what shall befall them at the end of days. Gen. 49:1. He never gets to that, however, because, according to Rashi, the Divine Spirit left him at that moment. The Midrash, Breshis Rabbah 98:2 tells us that when he lost that prophecy, Yaakov assumed that he was prevented from disclosing what would occur because of a spiritual deficiency in one or more of his sons.
While the Midrash explains Yaakov's thinking at the time, it does not explain if that was the actual reason that the prophecy was obscured from Yaakov.
I heard another reason, but I'm not sure who brought it down or even if I heard it correctly. What I heard was that Yaakov was going to explain about how the Moshiach will come after the War on Gog v'Magog. However, Yaakov was not going to explain the other option -- that the Messianic Era could come about without the war if Klal Yisroel achieved holiness before the end of days. Because Yaakov made the assumption that his descendants were incapable of that level of holiness, Hashem withdrew the Shekinah to prevent Yaakov from committing loshon hara against the entire Jewish people yet to be born.
It sounds persuasive, but I have no idea of the source. Has anyone else heard this? Have you learned any other reason for Yaakov losing the ability to transmit the prophecy of the Messianic Era?