The code is working fine and C5 contains value then the issue is where you define the levels of your domains variable (eg. before or after the ggplot()).
You can also use @stefan's code line:
data$Domains <- factor(data$Domains, levels=unique(data$Domains))
Sample code:
data$Domains <- factor(data$Domains, levels = c("C1", "V1", "V2", "C2", "V3", "C3", "V4", "C4", "V5", "C5", "GP41")) # before the ggplot
#data$Domains <- factor(data$Domains, levels=unique(data$Domains))
library (ggplot2)
data$Domains <- factor(data$Domains, levels = c("C1", "V1", "V2", "C2", "V3", "C3", "V4", "C4", "V5", "C5", "GP41")) # before the ggplot
#data$Domains <- factor(data$Domains, levels=unique(data$Domains))
data$Groups <-factor(data$Groups, levels = c("1", "2", "3", "4"))
library (ggplot2)
ggplot(data) +
geom_col(mapping = aes(x = Groups, y = Ratio, fill = Domains), position = "dodge") +
scale_color_manual(values = c(C1 = "pink", V1 = "blue", V2 = "maroon", C2 = "orange",
V3 = "violet", C3 = "green", V4 = "brown", C4 = "sky blue",
V5 = "red", C5 = "yellow", GP41 = "tan"), aesthetics = c("colour", "fill"))+
theme_minimal()
Plot:

Sample code:
data$Groups <-factor(data$Groups, levels = c("1", "2", "3", "4"))
library (ggplot2)
ggplot(data) +
geom_col(mapping = aes(x = Groups, y = Ratio, fill = Domains), position = "dodge") +
scale_color_manual(values = c(C1 = "pink", V1 = "blue", V2 = "maroon", C2 = "orange",
V3 = "violet", C3 = "green", V4 = "brown", C4 = "sky blue",
V5 = "red", C5 = "yellow", GP41 = "tan"), aesthetics = c("colour", "fill"))+
theme_minimal())
data$Domains <- factor(data$Domains, levels = c("C1", "V1", "V2", "C2", "V3", "C3", "V4", "C4", "V5", "C5", "GP41"))
#after the ggplot. If you look at the plot, you'll notice that the order is alphabetical: C1,C2,C3,C4,C5,GP41, V1,V2,V3,V4 and V5
#data$Domains <- factor(data$Domains, levels=unique(data$Domains))
Plot: #As you can see, the bars are arranged in alphabetical order.

Sample data:
data<-structure(list(...1 = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
NA), Groups = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, NA), .Label = c("1", "2", "3", "4"), class = "factor"),
Domains = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L,
10L, 11L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 1L,
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 1L, 2L, 3L, 4L,
5L, 6L, 7L, 8L, 9L, 10L, 11L, NA), .Label = c("C1", "V1",
"V2", "C2", "V3", "C3", "V4", "C4", "V5", "C5", "GP41"), class = "factor"),
Ratio = c(0.231, 0.2, 0.359, 0.357, 0.371, 0.462, 0.424,
0.35, 0.3, 0.4, 0.358, 0.5, 0.16, 0.41, 0.531, 0.514, 0.692,
0.515, 0.45, 0.2, 0.575, 0.401, 0.362, 0.36, 0.36, 0.571,
0.371, 0.571, 0.484, 0.425, 0.1, 0.375, 0.408, 0.4, 0.16,
0.256, 0.54, 0.514, 0.538, 0.666, 0.175, 0.4, 0.4, 0.42,
NA), ...5 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA)), spec = structure(list(cols = list(...1 = structure(list(), class = c("collector_double",
"collector")), Groups = structure(list(), class = c("collector_double",
"collector")), Domains = structure(list(), class = c("collector_character",
"collector")), Ratio = structure(list(), class = c("collector_double",
"collector")), ...5 = structure(list(), class = c("collector_logical",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), delim = ","), class = "col_spec"), row.names = c(NA,
-45L), class = c("spec_tbl_df", "tbl_df", "tbl", "data.frame"
))