Yes there is a difference. Futuro is the same as "Future", Porvenir is "the things to come" (abbreviation of "cosas por venir"). Since the things to come are in the future, they can be used in the same sense, but they are different. For example, you can say:
El futuro depara un porvenir brillante para ella
The future holds bright events for her
I hope this helps.