The second model does not fit your data.
Both models assume that there is a linear dependence between the response and the variable $b$ for each level of the variable $c$. The slopes are randomly distributed around a fixed slope. The difference between the two models is that the second one assumes that this fixed slope is zero. Take a look at the random effects for $b$ (differences between the estimated random slope and the true slope):
> ranef(lmer(a~b+(1+b|c)))
$c
(Intercept) b
1 -1.032253982 -0.948777953
2 0.003921909 0.003604753
3 1.028332073 0.945173200
> ranef(lmer(a~(1+b|c)))
$c
(Intercept) b
1 2.263031 2.084875
2 3.298333 3.038673
3 4.321968 3.981722
Clearly, the random effects in the second model do not look centered around zero, however this is an assumption of the model.
By the way the second model is the same as the first model constrained to have a zero fixed slope, and then you can compare the two models with a likelihood ratio test:
> fit1 <- lmer(a~b+(1+b|c))
> fit2 <- lmer(a~(1+b|c))
> anova(fit2, fit1)
refitting model(s) with ML (instead of REML)
Data: NULL
Models:
fit2: a ~ (1 + b | c)
fit1: a ~ b + (1 + b | c)
Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
fit2 5 -250.29 -237.26 130.14 -260.29
fit1 6 -256.67 -241.04 134.34 -268.67 8.387 1 0.003779 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
The likelihood ratio test rather rejects the constrained model.
For your true data, you should choose the second model if you have any reason to believe that the overall slope is $0$.