Yes, you can go back and modify the schematic or footprints as much as you want, at any stage in the design. Just make your changes, as ve7xen said, do NOT re-number the components, assign your footprints, then in CvPCB read the netlist, and make sure you check the boxes to update footprints (if you changed the footprint for a part) or delete extra footprints (if you deleted a part in the schematic) as necessary. Nothing will be modified on the board that doesn't have to be. Your new parts will be placed in the normal spot for new parts, and any parts with an updated footprint will be updated in-place (make sure you re-route any tracks to its pins as necessary).
This is handy when using an MCU with extra GPIOs or using CPLDs or FPGAs. You can lay out the parts as desired in CvPCB, then go back to your schematic and wire the components up to the pins that are most convenient given your placement. Got a pair of tracks that would have to hop over each other to get to your MCU, and you don't have any particular reason for them to be routed to the exact pins you have them routing to? Swap them on your schematic, re-load the netlist in CvPCB, and you're good to go.
I'm often going back and forth between CvPCB and EESchema, making small adjustments here or there to improve signal routing or make things easier.