Relay turn off delay with ability to cancel
You should connect a 555 timer pin2 (trigger) to the line that feeds the relays signal  .
And connect pin3(output) directly to the same line that feeds the relays signal. 
A high value resistor should be placed between this line and ground. 

Look online for falling edge-triggered monostable delay 555 timer.
With a simple capacitor and a resistor
You should be able to specify the time you want the 555 timer to feed the relay for.

This way the 555 timer is triggered each time you switch off the switch. To run for let's say 15 seconds. 
That automatically resets if u switch it on and back off. 
And the relay will work normally if the switch was on. 

Your only problem will be with this scenario. 
If you switched it off for let's say 5 seconds then switched it back on for 5 seconds then back off. 
What will happen is the timer will be triggered count 10 seconds while still sending a signal to the relay. 
Youd expect it to reset the timer when you switch back off finally
But what is going to happen is that it will continue with the remaining 5 seconds finishing the first 15 seconds  then start another 15 seconds. 
Which should be fine depending on your application. 

Edit: Schematic for 15 second delay.