Method 1

mtcars$tempvar <- "Title"
ggplot() + 
  geom_point(data = mtcars, aes(x = mpg, y= hp), color = "blue") +
  labs(x = "mpg", y = "hp") +

  facet_grid(. ~ tempvar) +
  theme(strip.background = element_rect(fill="orange"),
        strip.text = element_text(size=16, colour="blue"))

Method 2

p<- ggplot() + 
  geom_point(data = mtcars, aes(x = mpg, y= hp), color = "blue") +
  labs(x = "mpg", y = "hp") 

my_g <- grobTree(rectGrob(gp=gpar(fill="black")),
                 textGrob("Title", 
                          # x = 0.175, 
                          hjust=5,
                          gp=gpar(col="white", cex=2)))

grid.arrange(my_g, p, heights=c(1,10))