You can find out some info on your proc through the DMV sys.dm_exec_procedure_stats. The cached_time field would give you an idea of when it was changed because it would have been recompiled. However, it's possible that other conditions would have caused a subsequent recompile later, so it's a loose guide at best.
To know who made the change (or to have a more accurate idea of when the change was made) you would need to have DDL triggers set up to capture data when objects are changed. This is not done automatically.
Forum Etiquette: How to post data/code on a forum to get the best help[/url]