Protecting capacitor from high voltage impulse spikes
To answer your question: This is not possible, the circuit won't work in reality. As the commenters have already pointed out, there is no switching device (electronic or mechanical) that can handle such high voltages and dV/dt.
To solve your problem: You should instead try to create a transformer-based circuit. A flyback transformer is very well suited for the task of generating long sparks (I've done this a lot as a child).
Your flyback transformer should have a large turns ratio (i.e. 1:50), a ferrite or iron core and an air gap to increase the maximum energy that can be stored in the core. Then you can build a circuit that charges the transformer by applying a voltage to its primary winding. You can do this with an N-channel MOSFET switching to ground. While the transformer is charging, you have to measure the current through it with a shunt resistor. Once the current reaches a certain value (i.e. the saturation current of the transformer's primary), you switch off the transistor. Now the transformer momentarily generates a very high voltage at its secondary winding (which will create a spark). There will also be a voltage spike at the input (but a much smaller one), which is why you should choose a MOSFET that can handle high voltages (i.e. a 600V MOSFET).
Measuring the primary current and switching off the MOSFET has to be done electronically since this has to happen within a few microseconds. You might be able to use a simple NE555 timer for this task. The MOSFET also has to be switched off as fast as possible in order to create the largest possible output voltage.
You also have to be very careful when winding your transformer and use LOTS of insulation, otherwise the spark will form within the transformer and destroy it. (I do have a lot of experience with destroying transformers this way, unfortunately...)