can you retrieve arduino program from board if you didnt save changes in file?
No, you can't, because the "file" never makes it to the board. You can recover the program, but it looks nothing like what you wrote in the IDE.
Realistically, no. You can get an image back with a bit of hacking, but it will be machine code and won’t be your sketch you can edit again.
New topic split off here http://arduino.cc/forum/index.php/topic,67647.0.html