A man has been charged after hiding in a lake following an alleged stabbing on a bus in Melbourne.