My guess is that it is the way you have wired the sensors to the Arduino.
Do you have a single wire from an Arduino GND pin that goes to both sensors?
If so there will be a voltage drop across that wire that will change when the digital sensor is commanded to take a reading (and draw a higher current than in it's standby condition).
This will cause the voltage on the GND pin of the MQ3 to rise by a few millivolts. The output of the MQ3 will rise by the same amount. It is this raised output voltage that the Arduino sees as a "spike".
You need to run two separate GND wires from the Arduino, one going to each sensor.