As of today, perhaps 20
Generally what makes a "core developer" as opposed to a "contributing developer" is an ongoing interest in the codebase that typically equates to near full-time employment. Should all core developers fall under the wheels of this continent-spanning bus of doom then Bitcoin would suffer a significant blow.
For a while.
Then various contributing developers (of which there are legion) would likely step up to act as replacements. The discussions on the forums, IRC channels, mailing lists and version control systems will be read and acted upon. Bugs will be fixed and life will go on.
Edit: So where does this number "20" come from? Well it's based largely on my experiences from reading the development mailing list, IRC logs and various Google+ circles. There is no real exact number, though, activity varies over time and various people are "core" to a particular issue as it passes through.