Parasites, but even just a bacterial infection or virus, or just something she got into. Gastroenteritis in humans causes nausea, vomiting, and diarrhea just like it does in puppies. Viral infections are notorious for this (they can cause inflammation in the stomach, small intestine, colon). Sometimes severe cramping in the colon is enough to cause nausea leading to vomiting just because of discomfort. Or, if her colon is inflamed, she could have diarrhea, but then her motility in small intestine and stomach can actually slow down, so food doesn't move, gets backed up, and makes her throw up. Or, if she got into something, like a bunch of leaves, it might have caused her to have some diarrhea, but also might be causing a blockage in her stomach leading her to throw up.
Is it JIF type peanut butter? That should have been fine. Or is it the all natural kind that you are supposed to keep refrigerated. Does she get freeze dried raw kibble? You do want to watch out for that stuff. If its just regular dry food, less likely. Its more likely she just got into something, or got a virus or something. Its the most common cause of diarrhea in humans too. Its good to send in a stool sample, just because puppies are more likely to get giardia or worms.
If she keeps it up, I would consider bringing her in, just for fluids and possibly x-rays, to make sure she doesn't have a blockage (in case she ate something she shouldn't have, like rocks, or a sock). Puppies get dehydrated and look crappy quickly.
Just make sure she's drinking lots of water. If she stops seeming interested in water, you can try to get her more interested by giving her water with some chicken broth (straight chicken broth, not stock, no soup--onions are bad for doggies), or sugar.
Would just stick to a bland diet for the next several days, chicken and boiled rice is really helpful, or canned W/D from the vet.
Hope she gets better soon!