Fake news, or lies as we should really be calling them, is very much a social problem. We've had "fake news" in the form of parody websites like the Onion for a long time, and whilst a large number of people fell for their stories, they often didn't make the same mistake twice. People are looking for new sources of news, and the combination of this with easily shareable and difficult to verify stories means that the lies spread quickly.
Part of this has been caused by the attack on mainstream media (MSM) - people no longer trust the MSM because they're being told not to by politicians, and the fact that they're often caught misreporting stories doesn't help this. So, people turn to smaller more focused sources - often ones which they've never heard of before, and which they haven't been told not to trust. How does Facebook solve this? I'm not sure. Flagging stories as "this hasn't been reported elsewhere", or by filtering new sources of news might be a start, but it wouldn't be a solution. I'm not sure people would trust Facebook to manually moderate content, and it would simply give fake news and politicians the ammunition they needed to target Facebook as being against them. The very nature of news is that its unexpected and mostly unpredictable, so training algorithms to detect fake news reliably, without hiding real news, is a very difficult task.
Facebook can't take responsibility for fake news, society needs to do that.