Technically the key caps can be replaced by Apple or an AASP, but I really don't know for sure whether they will do so. You should contact the Apple Store and an Apple Authorized Service Provider to be sure. Chances are they will say it is accidental damage and won't cover it for free. It is hard to say how much an AASP will charge for a key cap since I know Apple does not make it easy for an AASP since an AASP must pay for a complete set of key caps even if just one key cap is needed. Even if you had to pay for the complete key cap set it should be cheaper than replacing the whole entire Top Case/Keyboard Assembly.
You may be able to find some online, but keep in mind there are multiple versions of these key caps available for the different years of these laptops. Apple even re-designed some of the key caps with different or extra symbols in some cases. While the key caps may otherwise look identical, there is an actual difference in the black color and texture that is quite noticeable when a single key cap is installed on a different keyboard. Some key caps are more matte black while others are more of a glossy black.