I'll assume for this answer that you are not familiar with microcontrollers (let me know if you are, makes life a bit easier)
The solenoid driving part is reasonably easy, so we can look at that first:
Places like Farnell, Mouser, Digikey, etc have plenty of choice solenoid-wise, here are a few examples. You don't say how much force is needed to push the button but I'll assume it's not too much, so we can pick this part from the list (it's 12V, but there are 6V and 24V version there too)
To drive it, a simple circuit like this will do:

The MOSFET is an N-channel type, there are many options for this part, for example an IRLML0030 will do fine here. R2 is to make sure the gate is not left floating, something like 10kΩ will do here. R1 and the LED can be left out (unless you want an indicator) and D1 can be something like a 1N4002 or similar.
For the timing there are plenty of options, one of the simplest might be to get a cheap digital alarm clock and hack into it to get at the alarm buzzer wire, then use this to drive the gate of the MOSFET - set the alarm accordingly and you're done (alarm clock ground and source of MOSFET need to be connected too)
Obviously the alarm clock buzzer signal needs to be a constant DC, which is not guaranteed, but you would have to test this first.
The other option is to set up a counter IC like the CD4541BE and use the Q output to drive the gate. It's up a 16-bit counter, so if we assume you need to set it for 6 hours (e.g. start before you go to bed at 10pm and machine will activate at 4am) then you would need the oscillator to run at:
2^16 / (3600 * 6) = ~3Hz
The datasheet gives the formula for calculating the RC oscillator frequency as:
1 / (2.3 * R * C)
So if we take something like R = 145kΩ and C = 1uF, then we get:
1 / (2.3 * 145kΩ * 1uF) = ~3Hz
This will not be very accurate since it uses an RC oscillator, but I'm assuming for your application high accuracy is not too important. I picked a low value for C, since you can use a 1uF ceramic rather than an electrolytic which have horrible tolerances. For the resistor, since 145kΩ is not a standard value, you can add a couple of 1% parts to get close enough (e.g. 100kΩ and 47kΩ, which are both standard values)
The datasheet gives an example circuit, but here is another one for a "one shot" application:

I'll add a complete circuit later if the above seems a bit random - particularly the power and solenoid timing needs mentioning (a large capacitor across the supply to provide enough initial force is an option) but this should hopefully get you started with ideas.
Okay, here is a complete circuit - forgive the messy presentation as it was a bit rushed (and has not been tested obviously)

You will notice I have altered the voltage and Rtc/Ctc values on the left hand side, to provide the 3Hz needed for the 6 hour time limit (Rs can stay the same as it was).
The hand drawn black lines between the circuits are connection wires. Both points labelled +12V connect to the 12V wall wart (try and get one rated for > 100mA to make sure you have more than enough current)
The wire can be anything you have to hand really (say the thickness of doorbell/speaker wire will do fine)
The 470uF capacitor next to the solenoid will be an Aluminium electrolytic type (these caps are polarised, so make sure the plus side goes to +12V line, this is usually the side with the longer lead), the value is not too important (in fact both it and R1 are not strictly necessary, but will provide some protection in case anything shorts, and also provide an initial boost of current for the solenoid in case your supply has little current to spare)
C2 can be a ceramic/plastic film, or electrolytic, this turns the solenoid off after about half a second or so (since you don't need it to keep pressing the button when activated)
All the parts you need are shown above, and some wire, solder and soldering iron is the only other stuff you need (plus a way of mounting your solenoid over the button)
When I have more time tomorrow I will try to replace the above with a better schematic. If you have mo questions in the meantime, ask away :-)