Hello there,
As Ian says, it's hard to get a lot of sound out of a PIC port when you are dealing with an 8 ohm speaker, but you should get something at least. Is it ok if they have to put their ear up to the speaker? Usually there's other noises in a science fair setting so you might want to think about this. And yes, you need a capacitor and resistor in series with the speaker. The port puts out 0 to 5v approximately and that's plus and minus 2.5 volts AC, and a 100 ohm resistor would allow 25ma peak which is a little high for a port pin so maybe 150 ohms would be safer.
But then there are usually other pins on a PIC too, not just one. You could use several pins and use them all to drive the same speaker. For example, using 4 ports and four 150 ohm resistors all going to the same port would give you 4 times the current which should be enough to hear although still not super loud. Four resistors and one capacitor, like an electrolytic cap of say 100uf with the positive terminal toward the port pins. That should give you something anyway. The programming for the four pins would all be the same unless you want to experiment with multi level signal creation which you probably dont.
When it comes to synth sound however, there's several factors that influence the sound quality. You should probably look this up because there are many aspects. For example, harmonic content and attack and decay to name a few. This is how we make a piano sound that is different from say a flute.
You should also work within a frequency range that is easy for humans to hear, like 1 kHz to 5 kHz i think is the best range (or close to that).