Это связано с параметром Locale, как упоминалось @Gijs Overvliet.Например, я использую турецкую локаль, и моя строка должна быть установлена соответственно.
public static void main(String[] args) throws ParseException
{
DateFormat df = new SimpleDateFormat("MMM d, yyyy", Locale.getDefault());
String date = "Oca 1, 2011";
df.parse(date);
}