Unfortunately no. The closest I've ever been able to come to this is on the smart campaign that adds new leads to the engagement program I've set an expiry on the scheduled adding of new people into the program, so that acts as a defacto "off" switch on a scheduled date.
There's nothing automated at the program level.
You could adjust the asset availability in your stream so that each expires on the date you want the engagement program to end. You will also want to adjust the campaign that adds new leads to the nurture so that it doesn't add anyone on or after the day you want the campaign to be shut off.
Alternatively, you could build a smart campaign that will set all members cadence = paused on the day you want the campaign to end. Again, you will also want to adjust the "add to nurture" campaign to prevent new leads from entering.