If you're using an onTouchListener, the onTouch(...) method is public so I guess you could call it.
So when you instantiate the onTouchListener store it as a variable.
OnTouchListener listener = new OnTouchListener() { [[override code etc.]] }
Then just call the onTouch method you've overridden and give it the view and event you want to simulate the touch on.
MotionEvent doesn't have a contractor, but has a factory method called obtain():
MotionEvent myEvent = MotionEvent.obtain(long downTime, long eventTime, int action, float x, float y, int metaState);
Then just pass it to your onTouch:
onTouch(myView, myEvent);
Assuming you've passed the correct values to your event, it won't know the difference.
For more on the MotionEvent and what the parameters mean, go to:
http://developer.android.com/reference/android/view/MotionEvent.html
Thanks!